/**
 * dart 中的日期
 * 创建日期
 * 
 *  获取系统当前时间: var now = DateTime.now();
 *  自定义日期：var date = DateTime(年, 月, 日);
 *  某年1月1日的简写：var date = DateTime(年);
 *  将字符串转为日期对象：DateTime.parse('年-月-日 时:分:秒');
 *  将毫秒数转为日期对象：DateTime.fromMillseconsSinceEpoch(毫秒数);
 *  获取日期对象中的毫秒数：日期对象.millSecondsSinceEpoch
 * 
 * 获取日期中的数据
 * 
 *  日期对象.year
 *  日期对象.month
 *  日期对象.day
 *  ...
 * 
 * 日期计算
 * 
 *  加一年：var 新日期 = 日期对象.add(Duration(days: 365))
 *  减一月：var 新日期 = 日期对象.subtract(Duration(days: 30))
 *  计算两个日期之间的时间差：
 * 
 *    var duration = 日期晚.difference(日期早)
 *    duration.inDays 就是相差的天数
 * 
 */

void main() {
  var pid = '110112200012252131';
  // 从上述身份证号中截取出年月日
  var year = int.parse(pid.substring(6, 10));
  var month = int.parse(pid.substring(10, 12));
  var day = int.parse(pid.substring(12,14));

  var birth = DateTime(year, month, day);
  print(birth);

  // 获取系统当时间
  var now = DateTime.now();
  print(now);
  var days = now.difference(birth).inDays;
  print("从出生到现在一共$days天");

  // 获取毫秒数
  var ms = now.millisecondsSinceEpoch;
  print(ms);

  // 毫秒数转日期
  var now2 = DateTime.fromMillisecondsSinceEpoch(ms);
  print(now2);

}
